<?

class Zend_View_Helper_ShowProcessi extends Zend_View_Helper_Abstract
{
    public function showProcessi()
    {
        $table ='';
        
        $auth = Zend_Auth::getInstance();
        if ($auth->hasIdentity()) {

           require_once APPLICATION_PATH . '/models/Db/Flusso_db.php';
           require_once APPLICATION_PATH . '/models/Db/Utility.php';   
           require_once APPLICATION_PATH . '/models/Db/Lib_db.php';              
           
           $flusso_obj = new Flusso_db();
           $util_obj   = new Utility();           
           $lib_obj    = new Lib_db();
           
           $processi = $flusso_obj->getAllProcessi();          
           $processi_close = $flusso_obj->showProcess($processi);
           

           /*
            * inizializzo i due array che contengono
            * i processi chiusi e i processi aperti
            *  
            */
           $processi_chiusi  = array();
           $processi_incorso = array();
           
           foreach ($processi_close as $key => $value) {
               
               $id_processo_sanzionatorio = $key;
               $close = $value['close'];

               if ($close!=0){
                   $processi_chiusi[$id_processo_sanzionatorio]['id_conclusione'] = $close;
               }else{
                   $processi_incorso[]['id_processo_sanzionatorio'] = $id_processo_sanzionatorio;
               }

            }
            
           $table .= '<table id="risultati-processi">'.
                            '<tr>'.
                                '<th>Tipo</th>'.                   
                                '<th>Numero verbale</th>'.
                                '<th>Data accertamento</th>'.
                                '<th>Numero contestazione</th>'.               
                                '<th>Data contestazione</th>'. 
                                '<th>Fase in corso</th>'.
                            '</tr>';  
           
//           echo "<pre>";
//           print_r($processi_incorso);
//           echo "</pre>";           
           
            foreach ($processi_incorso as $processo) {
                if ($processo){
                    
                    $processo      = $flusso_obj->getInfoProcesso(intval($processo['id_processo_sanzionatorio']));
                    $tipo_processo = $lib_obj->getTipoProcesso($processo['id_lib_tipo_processo_sanzionatorio']);
                    
                    $accertamento  = $flusso_obj->getDatiAccertmento($processo['id_processo_sanzionatorio']);
                    $contestazione = $flusso_obj->getDatiVerbaleDiContestazione($processo['id_processo_sanzionatorio']);                    
                    
//echo "<pre>";
//print_r($processi_incorso);
//echo "</pre>"; 
                   
                    
                    $tipo_processo     = $tipo_processo['descrizione'];
                    $tipo_responsabile = $processo['tipo_responsabile'];
                    $data_inizio       = $processo['data_inizio'];

                    if ($accertamento){
                        $data_ora = explode(' ', $accertamento['data_ora']);
                        $data_accertamento = Utility::formattaData($data_ora[0]);                        
                    }else{
                        $data_accertamento = '';
                    }
                    if($accertamento['numero_verbale']){
                        $numero_verbale = $accertamento['numero_verbale'];
                    }else{
                        $numero_verbale = '';
                    }
                    if ($contestazione['numero_contestazione']){
                        $numero_contestazione = $contestazione['numero_contestazione'];                        
                    }else {
                        $numero_contestazione = '';
                    }
                    if ($contestazione['data']){
                        $data_contestazione = Utility::formattaData($contestazione['data']);
                    } else {
                        $data_contestazione = '';
                    }

                    
                    $id_fase_attuale = $processo['id_fase_attuale'];
                    $nome_fase = $flusso_obj->getFaseDaId($id_fase_attuale);
                    $nome_fase = $nome_fase['descrizione'];
                    
                    $table.=
                            '<tr>'.                            
                                '<td>'.'<a href="'.$this->view->url(array('controller'=>'Gestione','action'=>'get-flusso', 'id'=>intval($processo['id_processo_sanzionatorio'])),'gestione', TRUE).'">'.$tipo_processo.'</a></td>'.
                                '<td>'.$numero_verbale.'</td>'.                            
                                '<td>'.$data_accertamento.'</td>'.
                                '<td>'.$numero_contestazione.'</td>'.
                                '<td>'.$data_contestazione.'</td>'.
                                '<td>'.$nome_fase.'</td>'.
                            '</tr>'
                            ;
                    //print_r($processo);
//echo "<pre>";
//print_r($table);
//echo "</pre>"; 
                    //$table.='<a href="'.$this->view->url(array('controller'=>'Gestione','action'=>'get-flusso', 'id'=>intval($processo['id_processo_sanzionatorio'])),'gestione', TRUE).'">'.$tipo_processo.' - '.$tipo_responsabile.' - '.$data_inizio.'</a><br />';
                }
            }
            $table.='</table>';
            
            $table2='<p class="no-mar-bot">Storico processi sanzionatori conclusi</p>';
            $table2.='<table id="risultati-processi-conclusi">'.
                        '<tbody>'.
                            '<tr>'.
                                '<th>Tipo</th>'.                   
                                '<th>Numero verbale</th>'.
                                '<th>Data accertamento</th>'.
                                '<th>Numero contestazione</th>'.               
                                '<!--<th>Data contestazione</th>-->'. 
                                '<th>Data Concluisone</th>'.
                                '<th>Motivo</th>'.                    
                            '</tr>';            
            foreach ($processi_chiusi as $key => $value) {
                if ($key){
                    
                    $processo      = $flusso_obj->getInfoProcesso(intval($key));
                    $tipo_processo = $lib_obj->getTipoProcesso($processo['id_lib_tipo_processo_sanzionatorio']);
                    
                    $accertamento  = $flusso_obj->getDatiAccertmento($processo['id_processo_sanzionatorio']);
                    $contestazione = $flusso_obj->getDatiVerbaleDiContestazione($processo['id_processo_sanzionatorio']);                    
                    $conclusione   = $flusso_obj->getDatiConclusione($value['id_conclusione']);
                    
                                      
                    $tipo_processo     = $tipo_processo['descrizione'];
                    $tipo_responsabile = $processo['tipo_responsabile'];
                    $data_inizio       = $processo['data_inizio'];

                    if ($accertamento){
                        $data_ora = explode(' ', $accertamento['data_ora']);
                        $data_accertamento = Utility::formattaData($data_ora[0]);                        
                    }else{
                        $data_accertamento = '';
                    }
                    if($accertamento['numero_verbale']){
                        $numero_verbale = $accertamento['numero_verbale'];
                    }else{
                        $numero_verbale = '';
                    }
                    if ($contestazione['numero_contestazione']){
                        $numero_contestazione = $contestazione['numero_contestazione'];                        
                    }else {
                        $numero_contestazione = '';
                    }
                    if ($contestazione['data']){
                        $data_contestazione = Utility::formattaData($contestazione['data']);
                    } else {
                        $data_contestazione = '';
                    }
                    if($conclusione['data']){
                        $data_conclusione = Utility::formattaData($conclusione['data']);
                    }else{
                        $data_conclusione = '';
                    }
                    if($conclusione['motivo']){
                        $motivo_conclusione = $conclusione['motivo'];
                    }else{
                        $motivo_conclusione = '';
                    }                    
                    
                    $table2.='<tr>'.
                             //'<a href="'.$this->view->url(array('controller'=>'Gestione','action'=>'get-flusso', 'id'=>intval($processo['id_processo_sanzionatorio'])),'gestione', TRUE).'">'.
                                '<td>'.'<a href="'.$this->view->url(array('controller'=>'Gestione','action'=>'get-flusso', 'id'=>intval($processo['id_processo_sanzionatorio'])),'gestione', TRUE).'">'.$tipo_processo.'</a></td>'.
                                '<td>'.$numero_verbale.'</td>'.                            
                                '<td>'.$data_accertamento.'</td>'.
                                '<td>'.$numero_contestazione.'</td>'.
                                '<td>'.$data_contestazione.'</td>'.                          
                                '<!--<td>'.$data_conclusione.'</td>-->'.
                                '<td>'.$motivo_conclusione.'</td>'.
                            //'</a>'.
                            '</tr>';                   
                    //$table.='<a href="'.$this->view->url(array('controller'=>'Gestione','action'=>'get-flusso', 'id'=>intval($key)),'gestione', TRUE).'">'.$tipo_processo.' - '.$tipo_responsabile.' - '.$value['id_conclusione'].'</a><br />';
                }                
                
            }            
            $table2.='</tbody></table>';
            
            //return $persone;
            
            return $table.$table2;
           }

        return $table;

    }
}